//package com.yuma.tingshu.dispatch.job;
//
//import com.xxl.job.core.context.XxlJobHelper;
//import com.xxl.job.core.handler.annotation.XxlJob;
//import com.yuma.tingshu.common.result.Result;
//import com.yuma.tingshu.dispatch.mapper.XxlJobLogMapper;
//import com.yuma.tingshu.model.dispatch.XxlJobLog;
//import com.yuma.tingshu.model.user.UserInfo;
//import com.yuma.tingshu.search.client.SearchFeignClient;
//import com.yuma.tingshu.user.client.UserInfoFeignClient;
//import lombok.extern.slf4j.Slf4j;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Component;
//
//@Slf4j
//@Component
//public class DispatchJobHandler {
//
//    @Autowired
//    private UserInfoFeignClient userInfoFeignClient;
//    @Autowired
//    private SearchFeignClient searchFeignClient;
//
//    @Autowired
//    private XxlJobLogMapper xxlJobLogMapper;
//    private static final Logger logger= LoggerFactory.getLogger(DispatchJobHandler.class);
//
//    @XxlJob("syncAlbumStatToES")
//    public void syncAlbumStatToES(){
//        logger.info("更新专辑状态开始");
//        XxlJobHelper.log("更新专辑状态开始");
//        XxlJobLog xxlJobLog = new XxlJobLog();
//        xxlJobLog.setJobId(XxlJobHelper.getJobId());
//        //核心调用远程更新专辑
//        try {
//            Long startTime = System.currentTimeMillis();
//            Result result = searchFeignClient.syncAlbumStatToES();
//            Long end = System.currentTimeMillis();
//            if (result.getCode()==200){
//                xxlJobLog.setStatus(1);
//                XxlJobHelper.handleSuccess("更新专辑状态远程调用成功");
//            }else {
//                xxlJobLog.setStatus(0);
//                xxlJobLog.setError("更新专辑状态远程调用失败"+result.getCode());
//                XxlJobHelper.handleFail("更新专辑状态远程调用失败"+result.getCode());
//            }
//            xxlJobLog.setTimes((int)(end-startTime));
//        }catch (Exception e){
//            xxlJobLog.setStatus(0);
//            xxlJobLog.setError("更新专辑状态远程调用失败");
//            XxlJobHelper.handleFail("更新专辑状态远程调用失败");
//            throw new RuntimeException(e);
//        }
//
//        xxlJobLogMapper.insert(xxlJobLog);
//        logger.info("更新专辑状态结束");
//        XxlJobHelper.log("更新专辑状态结束");
//
//    }
//
//
//    @XxlJob("updateVipExpireStat")
//    public void updateVipExpireStat(){
//        logger.info("更新Vip状态开始");
//        XxlJobHelper.log("更新Vip状态开始");
//        XxlJobLog xxlJobLog = new XxlJobLog();
//        xxlJobLog.setJobId(XxlJobHelper.getJobId());
//        //核心调用远程更新VIP
//        try {
//            Long startTime = System.currentTimeMillis();
//            Result result = userInfoFeignClient.updateVipExpireStat();
//            Long end = System.currentTimeMillis();
//            if (result.getCode()==200){
//                xxlJobLog.setStatus(1);
//                XxlJobHelper.handleSuccess("更新Vip状态远程调用成功");
//            }else {
//                xxlJobLog.setStatus(0);
//                xxlJobLog.setError("更新Vip状态远程调用失败"+result.getCode());
//                XxlJobHelper.handleFail("更新Vip状态远程调用失败"+result.getCode());
//            }
//            xxlJobLog.setTimes((int)(end-startTime));
//        }catch (Exception e){
//            xxlJobLog.setStatus(0);
//            xxlJobLog.setError("更新Vip状态远程调用失败");
//            XxlJobHelper.handleFail("更新Vip状态远程调用失败");
//            throw new RuntimeException(e);
//        }
//
//        xxlJobLogMapper.insert(xxlJobLog);
//        logger.info("更新Vip状态结束");
//        XxlJobHelper.log("更新Vip状态结束");
//
//
//    }
//}